module pe.managed.tables { def = new managed.Type();
this.def.isSpeculative = false;
read(reader: metadata.TableReader) { this.def.attributes = reader.readInt();
this.name = reader.readString();
this.namespace = reader.readString();
this.extends_ = reader.readTypeDefOrRef();
this.fieldList = reader.readFieldTableIndex();
this.methodList = reader.readMethodDefTableIndex();
complete(reader: metadata.TableCompletionReader, nextTypeDef?: TypeDef) { this.def.name = reader.readString(this.name);
this.def.namespace = reader.readString(this.namespace);
this.def.baseType = reader.lookupTypeDefOrRef(this.extends_);
var nextFieldList: number;
nextFieldList = nextTypeDef.fieldList;
reader.copyFieldRange(this.def.fields, this.fieldList, nextFieldList, this.def);
var nextMethodList: number;
nextMethodList = nextTypeDef.methodList;
reader.copyMethodRange(this.def.methods, this.methodList, nextMethodList, this.def);